Systems and methods to redirect incoming contacts

ABSTRACT

Systems and methods are provided for contact channel redirection to improve agent routing/assignment efficiency and customer experience. For example, the system may redirect a customer, waiting in a queue for an agent for telephonic communications, to a chat agent for online chat.

CROSS REFERENCE

This application is a continuation of U.S. application No. 12/551,423entitled “Systems and Methods to Redirect Incoming Contacts,” now U.S.Pat. No. 8,422,644, filed on Aug. 31, 2009 which is hereby incorporatedby reference in its entirety.

FIELD OF THE TECHNOLOGY

At least some embodiments of the disclosure relate to routing incomingcontacts, such as telephone calls, online chat requests, etc.

BACKGROUND

Many service providers offer customer services via telephone callcenters or online chat services. Through these services a customer canreach an agent for purchasing products and services, inquiring aboutproduct information, or reporting problems.

For example, a customer may call into the interactive voice response(IVR) system to report a problem. Due to complex menu tree options orother reasons, the customer is getting impatient. The customer selectsthe option to talk to an agent for voice communications during the IVRinteraction session. When all voice agents in the agent pool are busywith other customers, the customer is placed on hold and into an agentqueue, and may encounter a long waiting time.

BRIEF DESCRIPTION OF THE DRAWINGS

The embodiments are illustrated by way of example and not limitation inthe figures of the accompanying drawings in which like referencesindicate similar elements.

FIG. 1 shows a system to redirect incoming contacts according to oneembodiment.

FIG. 2 shows a system to redirect incoming telephone calls according toone embodiment.

FIG. 3 shows a method to redirect requests for voice agents to onlinechat agents according to one embodiment.

FIG. 4 shows a method to redirect incoming contacts according to oneembodiment.

FIG. 5 shows a data processing system, which can be used in variousembodiments.

DETAILED DESCRIPTION

The following description and drawings are illustrative and are not tobe construed as limiting. Numerous specific details are described toprovide a thorough understanding. However, in certain instances, wellknown or conventional details are not described in order to avoidobscuring the description. References to one or an embodiment in thepresent disclosure are not necessarily references to the sameembodiment; and, such references mean at least one.

Reference in this specification to “one embodiment” or “an embodiment”means that a particular feature, structure, or characteristic describedin connection with the embodiment is included in at least one embodimentof the disclosure. The appearances of the phrase “in one embodiment” invarious places in the specification are not necessarily all referring tothe same embodiment, nor are separate or alternative embodimentsmutually exclusive of other embodiments. Moreover, various features aredescribed which may be exhibited by some embodiments and not by others.Similarly, various requirements are described which may be requirementsfor some embodiments but not other embodiments.

In one embodiment, a service provider provides different types ofcommunication channels to reach their agents or representatives. Forexample, the service provider may offer a telephone number to reachagents or representatives for voice/telephonic communications, and offera web chat service to reach agents or representatives via online chat(e.g., instant messaging, text based chat, voice and/or video enabledchat, etc.).

However, the resources of the two agent pools (e.g., voice agents andchat agents) may be used inefficiently if they are separately managed.For example, the customer may need to wait a long time for a voiceconnection to an agent, which causes unpleasant customer experiences.Voice agents generally receive higher pay than chat agents. While thecustomer is waiting for a voice agent, the more expensive voice agentsmay be over utilized and the cheaper chat agents underutilized.

In one embodiment, a system is provided to allow the customer to switchfrom the voice agent queue to a chat agent pool. For example, a resourceoptimization module is used to offer IVR customers the option to beredirected to a chat channel when the voice agent queue waiting timeexceeds a predetermined time period, or to opt out to a chat session attheir discretion. The resource optimization module may be implemented asa software module on a computer, or as a hardware module, or acombination of software and hardware.

FIG. 1 shows a system to redirect incoming contacts according to oneembodiment. In FIG. 1, a resource optimizer (101) is coupled to a voicecontact router (103) and a chat contact router (105), which provideaccess to a voice agent pool (121) and a chat agent pool (123),respectively. The resource optimizer (101) is configured to balance thedemand on the voice agent pool (121) and the chat agent pool (123).

For example, a customer may use a customer telephone (107) to make acall to the voice contact router (103), which manages a queue to routethe call to the next available agent on one of the agent telephones(111-113) in the voice agent pool (121). The agent telephones (111-113)may be plain old telephone sets, or terminals for Voice over InternetProtocol (VoIP), such as softphones running as applications on one ormore computers.

Alternatively, the customer may use a customer chat terminal (109) toconnect to a chat contact router (105), which manages a queue to routethe incoming online chat connections to the next available agent on oneof the agent chat terminals (115-117). The chat terminals (115-117) maybe computer terminals connected to one or more computers. The chatterminals (115-117) may also be implemented via personal computers,network computers, notebook computers, etc.

In one embodiment, the resource optimizer (101) is configured to balancethe load between the voice contact router (103) and the chat contactrouter (105). For example, when the waiting line for the voice contactrouter (103) is longer than a predetermined length, or the waiting timeis longer than a predetermined threshold, the resource optimizer (101)may suggest the customer to move to the chat contact router (105) for achat agent, instead of waiting for a voice agent.

In one embodiment, the resource optimizer (101) is configured tofacilitate the transition from a queue in the voice contact router (103)to the queue in the chat contact router (105).

In some embodiments, when the chat contact router (105) is overutilized, the resource optimizer (101) may attempt to move requests fromthe chat contact router (105) to the voice contact router (103).

FIG. 2 shows a system to redirect incoming telephone calls according toone embodiment. In FIG. 2, the customer telephone (107) communicateswith an interactive voice response (IVR) module (201) to identify thecustomer using the subscriber profile database (203). The IVR module(201) opens a session in the session data store to store data related tothe communication session initiated by the telephone call from thecustomer telephone (107). The IVR module (201) couples with the voicecontact router (103) to route the telephone call to one of the agenttelephones (111-113) in the voice agent pool (121).

In one embodiment, the resource optimizer (101) monitors the waitingline in the queue of the voice contact router (103). When the waitingtime for the telephone call from the customer telephone (107) isdetermined to be longer than a predetermined threshold, the resourceoptimizer (101) may communicate with the IVR module (201) to initiatethe transfer of the customer to a chat connection.

For example, the IVR module (201) may be used to prompt the customer toswitch to a chat connection, instead of waiting for a voice connectionto a voice agent. If the customer accepts the suggestion, the resourceoptimizer (101) may use the notification gateway (209) to send acommunication to the customer to facilitate the transfer.

For example, the communication may be an email message, or a textmessage sent to the mobile phone of the customer (e.g., via a shortmessage service (SMS)). The resource optimizer (101) may identify theemail address of the customer, or the telephone number of the mobilephone of the customer, via the subscriber profile database, or via theIVR system.

For example, the communication may include a uniform resource locator(URL) pointing to the download site (207). When the customer chatterminal (109) (e.g., a computer of the customer) visits the URL, a chatsoftware program is downloaded to the customer chat terminal (109) (ifthe customer chat terminal does not have the chat software program) andthe chat software program is used to initiate a chat connection to thechat contact router (105), which routes the incoming chat connectionfrom the customer chat terminal (109) to one of the agent chat terminals(115-117) in the chat agent pool (123).

In one embodiment, the chat contact router (105) includes a chat utilityto correlate the online chat connection from the customer chat terminal(109) with the session initiated by the IVR module (201) for thetelephone call from the customer telephone (107). The chat contactrouter (105) allows the online chat connection to continue the session(e.g., by allowing access to the data recorded in the session and addingadditional data to the session for the online chat connection).

For example, the URL may include a parameter (e.g., a priority code) toindicate the telephone session with the customer telephone (107); andthe chat contact router (105) uses the parameter to assign priority tothe online connection from the customer chat terminal (109) based on thetime the telephone call from the customer telephone (107) is received.

In some embodiments, the chat contact router (105) correlates the onlinechat connection from the customer chat terminal (109) with the sessioninitiated for the telephone call from the customer telephone (107) basedon an identity of the customer. The identity of the customer may beidentified based on an authentication process (e.g., using thesubscriber profile database (203), based on the telephone number of thecustomer, or based on a priority code provided by the resource optimizer(101).

For example, when the customer accepts the suggestion for a transfer toa chat connection, the resource optimizer (101) may assign a prioritycode to represent the session. The resource optimizer (101) may providethe priority code to the customer via the notification gateway (209),and/or via the IVR module (201). When the chat contact router (105)obtains the priority code from the customer chat terminal (109), thechat contact router (105) provides the online chat connection from thecustomer chat terminal (109) with the priority of the telephone callfrom the customer telephone (107), and bridges the online chat sessioninitiated by the online chat connection from the customer chat terminal(109) and the telephone session initiated by the telephone call from thecustomer telephone (107).

In some embodiments, the download site (207) may require the customer tosign in as a member. Once the customer is authenticated, the resourceoptimizer (101) can correlate the visit to the download site (207) withthe telephone call from the customer telephone (107), and allows thechat contact router to bridge the online chat session and the telephonesession, when the online chat session is from the customer as anauthenticated member.

In one embodiment, the voice contact router (103) is implemented via asoftware module running on a computer system. The voice contact router(103) includes logic to select an available voice agent to handle theincoming IVR contact session. For an incoming IVR session, the voicecontact router (103) selects and routes the session to an agent equippedwith telephone capability. Existing technologies, implemented viasoftware, hardware, or a combination of software and hardware, can beused for voice contact router (103).

In one embodiment, the resource optimizer (101) is implemented via asoftware module running on a computer system. In some embodiments, theresource optimizer (101) is implemented in a way that is independentfrom the vendors of the voice contact router (103) and/or the chatcontact router (105). The resource optimizer (101) is configured tomaintain an association of subscriber accounts to active sessions forall the channels, including IVR and chat sessions. The resourceoptimizer (101) receives live session information from the voice contactrouter (103) and the chat contact router (105). The resource optimizer(101) provides for the integration of sessions between IVR and chatchannels from different vendors.

In one embodiment, the notification gateway (209) provides notificationvia emails. The notification gateway (209) generates a notificationemail in an automated way for delivery to the email address of thecustomer (e.g., subscriber). The notification email may include the URLto download the chat software program and/or the priority code.

In one embodiment, the chat contact router (105) is implemented via asoftware module running on a computer system. The chat contact router(105) includes logic to select an available chat agent to handle theincoming chat contact session request. For an incoming chat sessionrequest, the chat contact router (105) selects and routes the session toan agent equipped with computer capability.

In one embodiment, the subscriber profile database (203) containsinformation about products and services a subscriber has alreadyordered, pending order information, and billing status, as well asrecently reported trouble information.

In one embodiment, the session data store (205) logs customerinteraction activities of individual contact sessions. In oneembodiment, the session data store (205) works closely with the resourceoptimizer (101), and is independent of the voice contact router (103)and chat contact router (105).

FIG. 3 shows a method to redirect requests for voice agents to onlinechat agents according to one embodiment. In FIG. 3, after an InteractiveVoice Response (IVR) system (201) (e.g., of a call center) receives(301) a telephone call from a customer, the IVR system (201) identifies(303) the customer using a subscriber profile database (203).

In one embodiment, the IVR system (201) may identify the customer basedon the telephone number of the customer telephone (107), or maycommunicate with the customer to identify the customer.

In one embodiment, the IVR system (201) accesses the subscriber profiledatabase (203) to obtain information about the customer and establishes(305) a contact log session in a data store (205).

After the IVR system (201) receives a customer request for routing (307)the telephone call to a voice agent, the resource optimizer (101) maydetermine (309) whether to offer the customer to contact a chat agent.

For example, when all voice agents are busy with other calls, theresource optimizer (101) may determine if there are chat agentsavailable. If the resource optimizer (101) determines that there is achat agent available to handle a customer contact session, the resourceoptimizer (101) may cause the IVR system (201) to provide the customerwith the option to wait for a voice agent and the option to launch achat session. For example, the IVR system may prompt the customer tochoose between: “option 1 to wait 20 minutes for a voice agent, oroption 2 to launch a chat session to get immediate attention.” If thecustomer agrees to use a chat session, the system starts to assist thecustomer in switching to a chat connection.

In FIG. 3, if operation (310) determines that the customer does not wanta chat agent, the voice contact router (103) keeps the customer in aqueue and connects (319) the customer to a voice agent (e.g., after aperiod of waiting time).

If operation (310) determines that the customer agrees to use a chatsession, the resource optimizer (101) provides (311) a uniform resourcelocator (URL) to the customer.

For example, the resource optimizer (101) may use the IVR system tospeak the chat URL to the customer, and/or send the URL to the customerthrough the notification gateway (209) (e.g., via a text message to amobile phone of the customer, or via an email to a known email addressof the customer).

In FIG. 3, when the download site (207) receives (313) a web request atthe URL from a computer of the customer (e.g., the customer chatterminal (109)), the download site (207) downloads (315) a chat softwaremodule to the computer of the customer. The computer of the customer maydownload, install and start the chat software in an automated way, basedon the instructions provided at the URL.

In one embodiment, the URL includes a priority code to correlate theonline chat connection resulting from the URL with the telephone call ofthe customer.

When the chat contact router (105) receives (317) a chat request fromthe chat software running on the computer of the customer, the chatcontact router (105) connects (319) the customer to a chat agent usingone of the agent chat terminals (115-117) in the chat agent pool (123).The resource optimizer (101) and/or the chat contact router (105)bridges (321) the contact log session from telephonic voice to onlinechat.

In one embodiment, the URL is presented via a web site of the serviceprovider. After the consumer logs into his/her own account with theservice provider, the home page may provide a link or icon pointing tothe URL. The link or icon may say “chat now.” When the customer chatterminal (109) selects the link, the installation and/or initializationof the chat software starts.

In some embodiments, the chat contact router (105) and/or the resourceoptimizer (101) automatically bridges the online chat session and theprevious IVR session. In other embodiments, the user interface for thechat application may present an option selectable to transfer or bridgethe previous IVR session.

In one embodiment, after the chat contact router (105) and/or theresource optimizer (101) bridges the online chat session and theprevious IVR session, the chat contact router (105) connects thecustomer to a chat agent along with the relevant information previouslycollected in the IVR session.

In one embodiment, when the customer agrees to transfer from an IVRsession to a chat session, the IVR system (201) gives the customer apriority code. When the customer initiates the online chat connectionwith the priority code, the chat contact router (105) and/or theresource optimizer (101) bridges the online chat session and theprevious IVR session.

In one embodiment, when the customer initiates the online chatconnection and provides his/her telephone number (or other identifiers),the chat contact router (105) and/or resource optimizer (101) candetermine that the customer already has an IVR session. The chat userinterface may prompt the user to decide whether or not to bridge theprevious IVR session and the current chat session. If the customerselects to bridge the sessions, the chat contact router (105) connectsthe customer to a chat agent along with the relevant informationpreviously collected in the IVR session.

FIG. 4 shows a method to redirect incoming contacts according to oneembodiment.

In FIG. 4, a resource optimizer (101) receives (331) from a user arequest for a first connection for a first type of real timecommunications. The resource optimizer (101) provides (333) an offer ofa second connection for a second type of real time communications, basedon availability of connections for the first type of real timecommunications and availability of connections for the second type ofreal time communications. If the user accepts the offer, the resourceoptimizer (101) relates (335) the request with the second connection forthe second type of real time communications.

In one embodiment, real time communications of the first type aretelephonic communications; and real time communications of the secondtype are instant messaging (e.g., online chat via text, voice, and/orvideo).

In one embodiment, the first type of real time communications areconnected to telephones; and the second type of real time communicationsare connected to applications running on computers.

In one embodiment, the session data store (205) initiates a log sessionbased on the request received via the first type of real timecommunications, and continues (205) the log session after the secondconnection is established for the second type of real timecommunications.

In one embodiment, the resource optimizer (101) identifies an identityof the user based on the first type of real time communications, using asubscriber profile database (203) and based on communications receivedin an interactive voice response (IVR) system (201).

In one embodiment, the resource optimizer (101) is configured to providethe offer when no agent is currently available for communicating withthe user using the first type of real time communications, and there isat least one agent who is currently available for communicating with theuser using the second type of real time communications.

In one embodiment, the resource optimizer (101) is configured to providethe offer when a waiting time for an agent for the first type of realtime communications is above a predetermined threshold.

In one embodiment, the resource optimizer (101) relates the request withthe second connection for the second type of real time communicationsvia a reference provided to the user. The reference may include auniform resource locator (URL) and/or a priority code, which whenvisited by a computer of the user, causes the computer of the user todownload a software module for communicating via the second type of realtime communications. A notification gateway (209) may provide the URLvia email or text message. Alternatively or in combination, the URL canbe provided via the IVR system (201).

In one embodiment, the resource optimizer (101) provides the secondconnection with a priority according to a time at which the request isreceived via communications of the first type.

In one embodiment, the resource optimizer (101) provides the secondconnection with priority in accordance with the priority code in a queuefor requests for connections for the second type of real timecommunications.

Thus, at least in one embodiment, a system and method is provided forcontact channel redirection to improve agent routing/assignmentefficiency and customer experience. Without the system, a frustratedcustomer is likely to hang up. If this was a sales call, the serviceprovider may lose the potential revenue, resulting in poor customerretention. The system provides a better customer contact experiencesince the customer is assigned a priority chat code to be able to chatwith an agent immediately.

In one embodiment, the system moves contact sessions from a moreexpensive IVR agent pool to a less expensive chat agent pool, resultingin cost savings. The system provides the ability to integrate voicecontact routing and chat contact routing technologies from differentvendors, and thus achieve cost savings driven by process integration.

FIG. 5 shows a data processing system, which can be used in variousembodiments. While FIG. 5 illustrates various components of a computersystem, FIG. 5 is not intended to represent any particular architectureor manner of interconnecting the components. Some embodiments may useother systems that have fewer or more components than those shown inFIG. 5.

In one embodiment, each of the modules, such as the IVR module (201),the voice contact router (103), the resource optimizer (101), the chatcontact router (105), the download site (207), the notification gateway(209), and the host(s) for the subscriber profile database (203) and thesession data store (205) can be implemented as a data processing system,with more or less components, as illustrated in FIG. 5. Some of themodules may be implemented via software running on separate dataprocessing systems or a shared data processing system.

In FIG. 5, the data processing system (401) includes an inter-connect(402) (e.g., bus and system core logic), which interconnects amicroprocessor(s) (403) and memory (408). The microprocessor (403) iscoupled to cache memory (404) in the example of FIG. 5.

The inter-connect (402) interconnects the microprocessor(s) (403) andthe memory (408) together and also interconnects them to a displaycontroller, display device (407), and to peripheral devices such asinput/output (I/O) devices (405) through an input/output controller(s)(406).

Typical I/O devices include mice, keyboards, modems, network interfaces,printers, scanners, video cameras, and other devices which are wellknown in the art. In some embodiments, when the data processing systemis a server system, some of the I/O devices, such as printer, scanner,mice, and/or keyboards, are optional.

The inter-connect (402) may include one or more buses connected to oneanother through various bridges, controllers and/or adapters. In oneembodiment, the I/O controller (406) includes a USB (Universal SerialBus) adapter for controlling USB peripherals, and/or an IEEE-1394 busadapter for controlling IEEE-1394 peripherals.

The memory (408) may include ROM (Read Only Memory), volatile RAM(Random Access Memory), and non-volatile memory, such as hard drive,flash memory, etc.

Volatile RAM is typically implemented as dynamic RAM (DRAM), whichrequires power continually in order to refresh or maintain the data inthe memory. Non-volatile memory is typically a magnetic hard drive, amagnetic optical drive, an optical drive (e.g., a DVD RAM), or othertype of memory system that maintains data even after power is removedfrom the system. The non-volatile memory may also be a random accessmemory.

The non-volatile memory can be a local device coupled directly to therest of the components in the data processing system. A non-volatilememory that is remote from the system, such as a network storage devicecoupled to the data processing system through a network interface suchas a modem or Ethernet interface, can also be used.

In this description, various functions and operations may be describedas being performed by or caused by software code to simplifydescription. However, those skilled in the art will recognize that whatis meant by such expressions is that the functions result from executionof the code/instructions by a processor, such as a microprocessor.Alternatively, or in combination, the functions and operations can beimplemented using special purpose circuitry, with or without softwareinstructions, such as using Application-Specific Integrated Circuit(ASIC) or Field-Programmable Gate Array (FPGA). Embodiments can beimplemented using hardwired circuitry without software instructions, orin combination with software instructions. Thus, the techniques arelimited neither to any specific combination of hardware circuitry andsoftware, nor to any particular source for the instructions executed bythe data processing system.

While some embodiments can be implemented in fully functioning computersand computer systems, various embodiments are capable of beingdistributed as a computing product in a variety of forms, and arecapable of being applied regardless of the particular type of machine orcomputer-readable media used to actually effect the distribution.

At least some aspects disclosed can be embodied, at least in part, insoftware. That is, the techniques may be carried out in a computersystem or other data processing system in response to its processor,such as a microprocessor, executing sequences of instructions containedin a memory, such as ROM, volatile RAM, non-volatile memory, cache or aremote storage device.

Routines executed to implement the embodiments may be implemented aspart of an operating system or a specific application, component,program, object, module or sequence of instructions referred to as“computer programs.” The computer programs typically include one or moreinstructions set at various times in various memory and storage devicesin a computer, and that, when read and executed by one or moreprocessors in a computer, cause the computer to perform operationsnecessary to execute elements involving the various aspects.

A machine readable medium can be used to store software and data, whichwhen executed by a data processing system, causes the system to performvarious methods. The executable software and data may be stored invarious places including, for example, ROM, volatile RAM, non-volatilememory and/or cache. Portions of this software and/or data may be storedin any one of these storage devices. Further, the data and instructionscan be obtained from centralized servers or peer to peer networks.Different portions of the data and instructions can be obtained fromdifferent centralized servers and/or peer to peer networks at differenttimes and in different communication sessions or in the samecommunication session. The data and instructions can be obtained inentirety prior to the execution of the applications. Alternatively,portions of the data and instructions can be obtained dynamically, justin time, when needed for execution. Thus, it is not required that thedata and instructions be on a machine readable medium in entirety at aparticular instance of time.

Examples of computer-readable media include, but are not limited to,recordable and non-recordable type media such as volatile andnon-volatile memory devices, read only memory (ROM), random accessmemory (RAM), flash memory devices, floppy and other removable disks,magnetic disk storage media, optical storage media (Compact DiskRead-Only Memory (CD ROMS), Digital Versatile Disks (DVDs), etc.), amongothers. The computer-readable media may store the instructions.

The instructions may also be embodied in digital and analogcommunication links for electrical, optical, acoustical or other formsof propagated signals, such as carrier waves, infrared signals, digitalsignals, etc. However, propagated signals, such as carrier waves,infrared signals, digital signals, etc. are not tangible machinereadable medium and are not configured to store instructions.

In general, a tangible machine readable medium includes any mechanismthat provides (i.e., stores and/or transmits) information in a formaccessible by a machine (a computer, network device, personal digitalassistant, manufacturing tool, any device with a set of one or moreprocessors, etc.).

In various embodiments, hardwired circuitry may be used in combinationwith software instructions to implement the techniques. Thus, thetechniques are neither limited to any specific combination of hardwarecircuitry and software nor to any particular source for the instructionsexecuted by the data processing system.

Although some of the drawings illustrate a number of operations in aparticular order, operations which are not order dependent may bereordered and other operations may be combined or broken out. While somereordering or other groupings are specifically mentioned, others will beapparent to those of ordinary skill in the art and so do not present anexhaustive list of alternatives. Moreover, it should be recognized thatthe stages could be implemented in hardware, firmware, software or anycombination thereof.

In the foregoing specification, the disclosure has been described withreference to specific exemplary embodiments thereof. It will be evidentthat various modifications may be made thereto without departing fromthe broader spirit and scope as set forth in the following claims. Thespecification and drawings are, accordingly, to be regarded in anillustrative sense rather than a restrictive sense.

What is claimed is:
 1. A system, comprising: an interactive voiceresponse module to receive a telephone call from a user; a memory tohost a subscriber profile database and a contact log session data store,the interactive voice response module to use the subscriber profiledatabase to identify the user and use the contact log session data storeto store data related to a communication session initiated by thetelephone call; a telephone call router coupled to the interactive voiceresponse module to route the telephone call to one of a plurality oftelephones; a resource optimizer coupled with the telephone call routerto offer the user an online chat connection if a waiting time forrouting the telephone call through to one of the plurality of telephonesis determined to be longer than a predetermined threshold, and inresponse to receiving an acceptance from the user to use the online chatconnection, assign a priority code to an online chat session initiatedby the online chat connection; and an online chat router to route theonline chat connection to a first terminal of one of a plurality ofcomputer user terminals and to allow the first terminal to access,during the online chat session initiated by the online chat connection,the data related to the communication session initiated by the telephonecall, obtain the priority code, and based on the priority code, providethe online chat connection with a priority corresponding to thetelephone call.
 2. The system of claim 1, further comprising: anotification gateway to transmit a uniform resource locator to the userto initiate the online chat connection.
 3. The system of claim 2,further comprising: a computer hosting a web server coupled to theresource optimizer, the web server to download an online chat softwareprogram to a computer of the user when the user uses the computer tovisit the uniform resource locator, wherein the online chat connectionis established via the online chat software program downloaded from theweb server.
 4. The system of claim 2, wherein the notification gatewaytransmits the uniform resource locator via one of: email and textmessage.
 5. The system of claim 1, further comprising: a computerhosting a web server coupled to the resource optimizer, wherein the webserver is configured to identify the user, facilitate initiation of theonline chat connection, and correlate the online chat connection withthe telephone call.
 6. The system of claim 5, wherein the web servercorrelates the online chat connection with the telephone call viareceiving a telephone number from the user.
 7. A method, comprising:receiving, at an interactive voice response module, a telephone callfrom a user; identifying, by the interactive voice response module, theuser based on a subscriber profile database; storing, by the interactivevoice response module, data related to a communication session initiatedby the telephone call to a contact log session data store; routing, by atelephone call router coupled to the interactive voice response module,the telephone call to one of a plurality of telephones; offering, by aresource optimizer coupled with the telephone call router, the user anonline chat connection if a waiting time for routing the telephone callthrough to one of the plurality of telephones is determined to be longerthan a predetermined threshold; in response to receiving an acceptancefrom the user to use the online chat connection, assigning, by theresource optimizer, a priority code to an online chat session initiatedby the online chat connection; routing, by an online chat router, theonline chat connection to a first terminal of one of a plurality ofcomputer user terminals; allowing, by the online chat router, the firstterminal to access, during the online chat session initiated by theonline chat connection, the data related to the communication sessioninitiated by the telephone call; obtaining, by the online chat router,the priority code; and based on the priority code, providing, by theonline chat router, the online chat connection with a prioritycorresponding to the telephone call.
 8. The method of claim 7, furthercomprising transmitting a uniform resource locator to the user toinitiate the online chat connection.
 9. The method of claim 8, furthercomprising downloading an online chat software program to a computer ofthe user when the user uses the computer to visit the uniform resourcelocator, wherein the online chat connection is established via theonline chat software program downloaded from the web server.
 10. Themethod of claim 8, wherein the uniform resource locator is transmittedvia one of: email and text message.
 11. The method of claim 7, furthercomprising: identifying, by a web server hosted by a computer coupled tothe resource optimizer, the user; facilitating, by the web server,initiation of the online chat connection; and correlating the onlinechat connection with the telephone call.
 12. The method of claim 11,wherein the online chat connection is correlated with the telephone callvia a telephone number received from the user.
 13. The method of claim7, wherein offering the user the online chat connection if the waitingtime for routing the telephone call through to one of the plurality oftelephones is determined to be longer than the predetermined thresholdcomprises providing the user with a first option to wait to route thetelephone call through to one of the plurality of telephones and asecond option to use the online chat connection.
 14. A tangible machinereadable medium storing instructions that, when executed by a processor,cause the processor to perform operations comprising: receiving atelephone call from a user; identifying the user based on a subscriberprofile database; storing data related to a communication sessioninitiated by the telephone call to a contact log session data store;routing the telephone call to one of a plurality of telephones; offeringthe user an online chat connection if a waiting time for routing thetelephone call through to one of the plurality of telephones isdetermined to be longer than a predetermined threshold; in response toreceiving an acceptance from the user to use the online chat connection,assigning a priority code to an online chat session initiated by theonline chat connection; routing the online chat connection to a firstterminal of one of a plurality of computer user terminals; allowing thefirst terminal to access, during the online chat session initiated bythe online chat connection, the data related to the communicationsession initiated by the telephone call; obtaining the priority code;and based on the priority code, providing the online chat connectionwith a priority corresponding to the telephone call.
 15. The tangiblemachine readable medium of claim 14, wherein the operations furthercomprise transmitting a uniform resource locator to the user to initiatethe online chat connection.
 16. The tangible machine readable medium ofclaim 15, further comprising downloading an online chat software programto a computer of the user when the user uses the computer to visit theuniform resource locator, wherein the online chat connection isestablished via the online chat software program downloaded from the webserver.
 17. The tangible machine readable medium of claim 15, whereinthe uniform resource locator is transmitted via one of: email and textmessage.
 18. The tangible machine readable medium of claim 14, whereinthe operations further comprise: identifying the user; facilitatinginitiation of the online chat connection; and correlating the onlinechat connection with the telephone call.
 19. The tangible machinereadable medium of claim 18, wherein the online chat connection iscorrelated with the telephone call via a telephone number received fromthe user.
 20. The tangible machine readable medium of claim 14, whereinoffering the user the online chat connection if the waiting time forrouting the telephone call through to one of the plurality of telephonesis determined to be longer than the predetermined threshold comprisesproviding the user with a first option to wait to route the telephonecall through to one of the plurality of telephones and a second optionto use the online chat connection.